//
//  Emoticon.swift
//  表情键盘
//
//  Created by 付建国 on 2016/10/19.
//  Copyright © 2016年 sher. All rights reserved.
//

import UIKit

class Emoticon: NSObject {

    // MARK:- 定义属性
    var code : String?{
        didSet{
            guard let code = code else{
                return
            }
            //处理emoji
            //创建扫描器
            let scanner = Scanner.init(string: code)
            //扫描code中的值
            var value : UInt32 = 0
            scanner.scanHexInt32(&value)
            //将value转成字符
            let c = Character.init(UnicodeScalar.init(value)!)
            //将字符转成字符串
            emojiCode = String.init(c)
        }
    }//emoji
    var png : String?  {
        didSet{
            guard let png = png else {
                return
            }
            pngPath = Bundle.main.bundlePath + "/Emoticons.bundle/" + png
        }
    }//普通表情
    var chs : String?      //普通表情对应文字
    
    // MARK:- 数据处理
    var pngPath : String?
    var emojiCode : String?
    var isRemove : Bool = false
    var isEmpty : Bool = false
    
    // MARK:- 自定义构造函数
    init(dict : [String : String]) {
        super.init()
        
        setValuesForKeys(dict)
    }
    
    init(isRemove : Bool) {
        self.isRemove = isRemove
    }
    
    init(isEmpty : Bool) {
        self.isEmpty = isEmpty
    }

    
    override func setValue(_ value: Any?, forUndefinedKey key: String) {}
    
//    override var description: String{
//        return dictionaryWithValues(forKeys: ["emojiCode", "pngPath", "chs"]).description
//    }
}
